home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / gnustuff / tos / gnulib / libsrc98.zoo / README < prev    next >
Encoding:
Text File  |  1989-08-13  |  7.9 KB  |  210 lines

  1. Recent additions: (gcc v1.35 release and later)
  2.  
  3.     PLEASE carefully read the file `Changelog' for details
  4.  
  5. Here is a very incomplete list of changes, see `Changelog' for details.
  6.  
  7.     - BSD curses library port added
  8.     - curses widget lib added.
  9.     - new functions vfork, wait.
  10.     - system() now does i/o re-direction
  11.     - new functions stty, gtty
  12.     - new function tzset
  13.     - new function console_set_key and new include file
  14.       keymap.h (see Changelog).
  15.     -filename mapping now more flexible. a new function
  16.      that allows user settable filename mapping. (see Changelog)
  17.     - malloc chunk size now user settable. (see Changelog)
  18.     - stat, access, bcopy, qsort completely replaced.
  19.     - scanf overhauled for floats. it was broken.
  20.     - all pml tests pass now
  21.     - HUGE defined properly in atof and math.h (aka pmluser.h)
  22.     - added extern size_t  __DEFAULT_BUFSIZ__
  23.     it is by default set to BUFSIZ but at any point you can assign to
  24.     it, and from then onwards all fopen's will use that size for
  25.     buffering. NOTE: makeing __DEFAULT_BUFSIZ__ == 0 will result
  26.     in unpredictable behavior. If you want unbuffered streams use
  27.     other means (like setbuf etc).
  28.     - added _malloczero(int truth)
  29.     by calling _malloczero(1) all subsequent malloc's will zero
  30.     fill memory before returning (very useful with the toglclr util and
  31.     tos 1.4 or later).
  32.     - many of the lXXX functions are now just globl labels at the head of
  33.     appro. functions (when applicable). Note: this may have to
  34.     change is the behaviour of asm() changes.
  35.     - added berzerkly'ish sys/dir.h
  36.     - lseek now supports BSD file extension semantics
  37.     - line buffered (output) streams now work correctly
  38.     - bug in dflonum.c corrected
  39.     - bug fixes in osbind.h
  40.     - lots of code cleanup.
  41.     - some stuff dynamisized.
  42.     - atexit fixed
  43.     - printf now handles `#' flag
  44.     - setjmp fixed. it did'nt work at all.
  45.     - stat fixed for . and ..  (Tos 1.4 still seems to have this bug)
  46.  
  47.     -following files from the first distribution of this lib (with gcc
  48.     V1.35) moved to sub-dir `notused/'
  49.         bcopy.c
  50.         index.c
  51.         lbcmp.c
  52.         lbcopy.c
  53.         lbzero.c
  54.         qsort.c
  55.         remove.c
  56.         rindex.c
  57.         fpprint.c
  58.         sldexp.c
  59.         printf.c
  60.         prtfld.c
  61.         sldexp.c
  62.  
  63.     - setlinebuf added
  64.     - atof, ldexp, frexp, modf etc re-wroked
  65.     - all formatted print routines re-worked
  66.     - pml lib passes all tests now
  67.     - lots of other bug fixes
  68.  
  69. ----------------------------------------------------------------------------
  70.  
  71. Here's a new library for the TOS version of the GCC. You need at least
  72. need GCC 1.31 to use it; if your version of the GCC is less than 1.33 you
  73. will need to tweak a few things.
  74.  
  75.             ACKNOWLEDGEMENTS:
  76.  
  77.     Eric Smith (7103_300%uwovax.uwo.ca@CORNELLC.CIT.CORNELL.EDU, please
  78. put attn `Eric Smith' as this is a shared mbox) put this library together and
  79. contributed a lot of code, and put a lot of effort in debugging it. The
  80. library in its current form is due to his efforts.
  81.  
  82. The original TOS GCC library that came with GCC 1.25, much of which was
  83. written by or revamped by John R. Dunning (jrd@STONY-BROOK.SCRC.Symbolics.COM),
  84. provided many of the low level routines. Of course we are also very greatful
  85. to jrd for his origonal port of gnu.
  86.  
  87. Most of the standard i/o library came from Dale Schumacher's dLibs version
  88. 1.2.
  89.  
  90. The string handling stuff is from Henry Spencer.
  91.  
  92. Last but not the least, i would like to thank all the users who have sent
  93. in comments / suggestions.
  94.  
  95.             Thanks one and all!
  96.  
  97. We have re-organized/hacked the code of others above, and are responsible
  98. for the new bugs. please report them!
  99.  
  100. ENHANCEMENTS:
  101.  
  102. Ansi compatibility (i would estimate we are about 90% there).
  103.  
  104. A lot of new functions.
  105.  
  106. Prototypes for everything. I have personally become a believer in them after
  107. being a disbeliever. It does help catch some pretty subtle errors (even if
  108. you are using 32 bit ints).
  109.  
  110. Some new functionality for old functions, including:
  111.  
  112. New stream I/O functions; fgetc(), fputc(), etc. all do newline translation
  113. by default. Appending "b" to the mode argument of fopen() will disable this
  114. translation. printf() and scanf() accept more options. printf with e and g
  115. floating point formats is sort of working (this could stand repairs!!)
  116.  
  117. For compatibility to the old TOS gcc library, calling the function
  118.         _binmode(1);
  119. at the top of main() will make binary mode the default mode
  120. for stream i/o (std in/out/err will do the correct cr mapping as before),
  121. and the i/o functions will behave pretty much like before.
  122.  
  123. There is an extern size_t  __DEFAULT_BUFSIZ__ that is normally set to BUFSIZ,
  124. but you can override it at any point, and get default buffers of that size
  125. for buffered i/o (a cheap way to have large buffers, instead of
  126. putting setvbuf()'s all over the place, but its ansi non-compatible).
  127.  
  128. The time functions all work with unix style times now, to make porting easier.
  129. localtime() etc now look up the env. variable `TZ' and calculate the local
  130. time correctly, taking into account DST etc.
  131.  
  132. Functions which work with files accept unix-style path names (with '/' as
  133. a directory separator) as well as tos-style ones (with '\' between 
  134. directories).
  135.  
  136. Process spawn functions handle long args using MWC conventions. If and when
  137. the discussion on the net culminates, we can adapt. gulam users may want
  138. to set their `env_style mw'. New spawn functions present.
  139.  
  140. Library setup for to generate both a 16 bit int library (-mshort compatible)
  141. or a 32 bit int library (See the files CMakefile.16, CMakefile.32 for the
  142. cross-compiler, and  makefile.16, makefile.32 for the native ST compiler)
  143.  
  144. Posix compatible directory access functions (thanks Doug Gwyn and Eric Smith).
  145.  
  146. osbind.h is now more or less complete. it is setup to generate inline traps
  147. by default. This can be overridden by `-D__NO_INLINE__' at compile time
  148. (see files straps.cpp for the 16 bit defn, and traps.c for the 32 bit
  149. definitions of __NO_INLINE__ gemdos, xbios and bios traps).
  150. For use with GDB, MUST use __NO_INLINE__
  151.  
  152. lineA.h is setup in a similar manner (i am not including it in this
  153. distribution as it is a little buggy, will let you have it in a few days
  154. once i have had a chance to clean it up a bit).
  155.  
  156. Lots of brand new fuctionality. Docs are in the works.
  157.  
  158. complete reorganization/revaming of #include <> files, please take a moment to
  159. become familiar with them. Most of the origonal TOS gcc .h files are
  160. there in the same place, so you should not have much trouble when compiling
  161. existing code.
  162.  
  163. and lots more! please browse though the header files in ../t-include
  164.  
  165. POSSIBLE GOTCHAS:
  166.  
  167.     USE PROTOTYPES TO STAY OUT OF TROUBLE !!!!!!!!!!!!!!!!!!!!!!!
  168. (new utility by eric smith `mkproto' provided for this purpose, so the
  169.  traditional excuses are not applicable :-)
  170.  
  171. Here is a new addition for the hackers dictionary
  172.     UTFP    -- Use The F***ing Prototypes    -:)  -:)
  173.  
  174. Especially when using -mshort be aware that
  175.     the TYPE of SIZE_T is UNSIGNED LONG
  176.         the SIZEOF operator returns a result of the type UNSIGNED LONG
  177.     NULL is not a 16 bit integer
  178.     string functions DO NOT restrict you to int sized strings
  179.  
  180. The above choices are both (almost) mandated (see the ansi draft) and
  181. deliberate. We were not about to restrict data structures to 64k max sizes
  182. when using -mshort (this would be criminal on the 68k architecture,
  183. also see the file obstacks.h for another very good reason)
  184.  
  185. In short (pun intended) please look over and use prototypes and supplied
  186. header files!
  187.  
  188. NOT HAPPY ABOUT:
  189.     other than some algorithms that can and will be revamed, we are a
  190. little unhappy about the static data size of the library. we are working
  191. on cutting this down, and also on dynamicizing more fixed sized structures in
  192. the library. Some of the local arrays will also be probably converted to
  193. alloca's of dynamically determined appro. sizes.
  194.  
  195. BUGS:
  196.  
  197. No doubt lots of these. Especially look out for places labelled FIXME:
  198. these are known to be broken or substandard.
  199.  
  200. Please send your comments/suggestions/contributions/bug reports
  201. to both/either/or
  202.                     enjoy,
  203. --
  204. Eric R. Smith                 jwahar r. bammi
  205. 7103_300@uwovax.uwo.ca            bammi@dsrgsun.ces.cwru.edu
  206. 7103_300@uwovax.bitnet            {decvax,sun}!cwjcc!dsrgsun!bammi
  207. (a shared mailbox: put his name on    GEnie: J.Bammi
  208. the message, please!)
  209.  
  210.